package com.hrm.houfei.dao;

import java.util.List;

import org.hibernate.criterion.DetachedCriteria;

import com.hrm.houfei.po.Personfile;

public interface IPersonFileDAO {
	/**
	 * 分页查询人员档案信息
	 * 
	 * @param criteria
	 *            离线查询
	 * @param start
	 *            索引
	 * @param limit
	 *            页大小
	 * @return 当前页的所有记录
	 */
	public List<Personfile> findPersonFileByPage(DetachedCriteria criteria,
			int start, int limit);
	
	/**
	 * 多条件查询人员档案信息集合的数量
	 * 
	 * @param criteria
	 *            离线查询
	 * @return 当前页的所有记录
	 */
	public int getPersonFileListSize(DetachedCriteria criteria) ;
	
	/**
	 * 更新人员档案信息
	 * 
	 * @param personfile
	 */
	public void update(Personfile personfile);
	
	/**
	 * 根据条件查询人员档案信息
	 * 
	 * @param criteria
	 *            离线查询
	 * @return List<Personfile>
	 */
	public List<Personfile> findPersonFileByCondition(DetachedCriteria criteria);

	public abstract void save(Personfile transientInstance);

	public abstract void delete(Personfile persistentInstance);

	public abstract Personfile findById(java.lang.Integer id);

	public abstract List findByExample(Personfile instance);

	public abstract List findByProperty(String propertyName, Object value);

	public abstract List findAll();

	public abstract Personfile merge(Personfile detachedInstance);

	public abstract void attachDirty(Personfile instance);

	public abstract void attachClean(Personfile instance);

}